home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / RCS / semget.man,v < prev    next >
Text File  |  1990-05-02  |  3KB  |  170 lines

  1. head     1.1;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.1
  10. date     90.03.15.12.32.11;  author shirriff;  state Exp;
  11. branches ;
  12. next     ;
  13.  
  14.  
  15. desc
  16. @Original Unix man page.
  17. @
  18.  
  19.  
  20.  
  21. 1.1
  22. log
  23. @Initial revision
  24. @
  25. text
  26. @.\" @@(#)semget.2 1.15 88/03/01 SMI; from S5R3
  27. .TH SEMGET 2 "21 November 1987"
  28. .SH NAME
  29. semget \- get set of semaphores
  30. .SH SYNOPSIS
  31. .nf
  32. .ft B
  33. #include <sys/types.h>
  34. #include <sys/ipc.h>
  35. #include <sys/sem.h>
  36. .LP
  37. .ft B
  38. int semget(key, nsems, semflg)
  39. key_t key;
  40. int nsems, semflg;
  41. .ft R
  42. .fi
  43. .SH DESCRIPTION
  44. .IX  "semget" "" "\fLsemget\fR \(em get semaphore set"
  45. .IX  semaphore "get set of  \(em \fLsemget\fR"
  46. .B semget(\|)
  47. returns the semaphore identifier associated with
  48. .IR key .
  49. .LP
  50. A semaphore identifier and associated data structure and set containing
  51. .I nsems
  52. semaphores
  53. (see
  54. .BR intro (2))
  55. are created for
  56. .I key
  57. if one of the following are true:
  58. .TP
  59. \(bu
  60. .I key
  61. is equal to
  62. .SM
  63. .BR IPC_PRIVATE \s0.
  64. .TP
  65. \(bu
  66. .I key
  67. does not already have a semaphore identifier associated with it, and
  68. .RI ( semflg " & "
  69. .SM
  70. .BR IPC_CREAT \s0)
  71. is ``true''.
  72. .LP
  73. Upon creation, the data structure associated with the new semaphore
  74. identifier is initialized as follows:
  75. .TP
  76. \(bu
  77. .BR sem_perm.cuid ", " sem_perm.uid ,
  78. .BR sem_perm.cgid ", and " sem_perm.gid
  79. are set equal to the effective user
  80. .SM ID
  81. and effective group
  82. .SM ID\s0,
  83. respectively, of the calling process.
  84. .TP
  85. \(bu
  86. The low-order 9 bits of
  87. .B sem_perm.mode
  88. are set equal to the low-order 9 bits of
  89. .IR semflg .
  90. .TP
  91. \(bu
  92. .B sem_nsems
  93. is set equal to the value of
  94. .IR nsems .
  95. .TP
  96. \(bu
  97. .B sem_otime
  98. is set equal to 0 and
  99. .B sem_ctime
  100. is set equal to the current time.
  101. .SH "RETURN VALUE"
  102. Upon successful completion,
  103. a non-negative integer,
  104. namely a semaphore identifier, is returned.
  105. Otherwise, a value of \-1 is returned and
  106. .B errno
  107. is set to indicate the error.
  108. .SH ERRORS
  109. .B semget(\|)
  110. will fail if one or more of the following are true:
  111. .TP 20
  112. .SM EINVAL
  113. .I nsems
  114. is either less than or equal to zero or greater than the system-imposed limit.
  115. .TP
  116. .SM EACCES
  117. A semaphore identifier exists for
  118. .IR key ,
  119. but operation permission (see
  120. .BR intro (2))
  121. as specified by the low-order 9 bits of
  122. .I semflg
  123. would not be granted.
  124. .TP
  125. .SM EINVAL
  126. A semaphore identifier exists for
  127. .IR key ,
  128. but the number of semaphores in the set associated with it is less than
  129. .IR nsems " and " nsems
  130. is not equal to zero.
  131. .TP
  132. .SM ENOENT
  133. A semaphore identifier does not exist for
  134. .I key
  135. and
  136. .RI ( semflg " &"
  137. .SM
  138. .BR IPC_CREAT \s0)
  139. is ``false''.
  140. .TP
  141. .SM ENOSPC
  142. A semaphore identifier is to be created but
  143. the system-imposed limit on the maximum number of
  144. allowed semaphore identifiers system wide
  145. would be exceeded.
  146. .TP
  147. .SM ENOSPC
  148. A semaphore identifier is to be created but
  149. the system-imposed limit on the maximum number of
  150. allowed semaphores system wide
  151. would be exceeded.
  152. .TP
  153. .SM EEXIST
  154. A semaphore identifier exists for
  155. .I key
  156. but
  157. .RI "( (" semflg " & "
  158. .SM
  159. .BR IPC_CREAT \s0)
  160. and
  161. .RI ( semflg " & "
  162. .SM
  163. .BR IPC_EXCL \s0) )
  164. is ``true''.
  165. .SH SEE ALSO
  166. .BR intro (2),
  167. .BR semctl (2),
  168. .BR semop (2)
  169. @
  170.